import axios from 'axios';
import router from '../router/index';
let baseUrl = "";
let http = axios.create({
    timeout: 10000,
    baseURL: "",
    headers: {"Content-Type": "application/json;charset=utf-8" }
});

// 拦截前
http.interceptors.request.use(
    req=>{
    console.log('请求前：',req);

    let token = sessionStorage.getItem('token');
    // 如果有存储token，则把token添加到请求头。
    token && (req.headers['authenticate'] = token);
    return req
},
        error=>Promise.reject(error));
//响应后干什么
http.interceptors.response.use(resp=>{
    console.log(resp)
    //后台给我们token 存起来
    //直接把拦截器放到main.js中，多一个.data
    // resp.data.data.token && sessionStorage.setItem('token',resp.data.data.token);
    //封装在HTTP.JS中，就少写一个.data;
    resp.data.token && sessionStorage.setItem('token',resp.data.token);
    return resp
},error=>{
    let _resp = error.response;
    switch (_resp.status) {
        case 401 :
            //把本地的token清除  跳转到login
            sessionStorage.removeItem('token')
            // sessionStorage.removeItem('userName')
            // sessionStorage.removeItem('type')
            // alert('身份已过期,请重新登录')
            return router.push('/login')  // 跳转到登录页面；
    }
    return Promise.reject(error.response.data)
});

export default http